
fn main() {
    println!("Hello, world!");

    // 变量使用let 关键字,是不可变的,加上mut可变例如
    let mut guess = 50;
    guess = 66+guess;
    print!("可变常量的值是:{}",guess);

    //常量用const关键字声明,是 不可变的,
    //不能用mut
    //声明的时候必须,标注类型
    //可以在任何作用域下声明,包括全局作用域
    //常量只可以绑定到常量表达式,不可以绑定到函数的调用结果或者只能在运行时才计算结果的值
    //在运行期间,常量在声明的作用域一直有效
    //命名规范:rust 里常量使用全大写字母,,每个单词之间用下划线分开

    // const MONEY_NUM :u32 = 1_000_000;

    //隐藏

    let spaces = "    ";
    let spaces = spaces.len();

    //使用let关键字可以将之前声明的同名变量隐藏,并且他们个类型可以不同,
    // 如果不使用隐藏的方式,就会因为类型不同报错
    //let spaces = "  ";   &str
    //spaces = spaces.len()  usize

    print!("长度是:{}",spaces);
}

